package com.settlement.system.mapper;

import com.settlement.system.model.entity.common.CommonPlugIn;
import com.settlement.system.model.entity.common.TblCostAllocationDetail;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
 * RR-费用分摊表 Mapper 接口
 * @author xiaochuan
 * @since 2023-01-06
 */
public interface TblCostAllocationDetailMapper extends BaseMapper {

    Integer deleteBySummaryIdList(@Param("list") List<String> summaryIdList);

    /**
     * 用于全参数判断
     * @param params
     * @return
     */
    List<TblCostAllocationDetail> selectByParams(@Param("params") TblCostAllocationDetail params);

    List<TblCostAllocationDetail> selectStatusBySummaryId(@Param("params") Map<String, Object> params);

    String selectWeightIdBySummaryId(@Param("params") Map<String, Object> params);

    String selectWeightIdById(@Param("params") Map<String, Object> params);

    Integer selectCountSummaryIdNotCompletelyDeleted(@Param("params") Map<String,Object> params);

    Integer deleteByCondition(@Param("params") Map<String,Object> params);

    Integer updateShareStatusAfterDeleteDetail(@Param("params") Map<String,Object> params);

    Integer updatePushFasStatus(@Param("pushFasStatus") String pushFasStatus,
                              @Param("updateUser") String updateUser,
                              @Param("updateTime") String updateTime,
                              @Param("params") Map<String, Object> params);

    Integer updateAccountStatus(@Param("updateStatus") String updateStatus,
                                @Param("updateUser") String updateUser,
                                @Param("updateTime")String updateTime,
                                @Param("params") Map<String, Object> params);


    List<String> selectPushFasStatus(@Param("params") Map<String, Object> params);

    List<String> selectAccountStatus(@Param("params") Map<String, Object> params);

    List<String> selectCreateUser(@Param("params") Map<String, Object> params);

    List<String> selectBeforeOrAfterTicket(@Param("params") Map<String, Object> params);

    TblCostAllocationDetail getFoot(@Param("params") Map<String, Object> params);

    List<CommonPlugIn> selectExistAccountPeriod();

    TblCostAllocationDetail getNcBrandByBrandUnitNo(@Param("brandUnitNo") String brandUnitNo);

    TblCostAllocationDetail getNcBrandByBrandName(@Param("brandName") String brandName);

    TblCostAllocationDetail getNcBrandByBrandNo(@Param("brandNo") String brandNo);


    TblCostAllocationDetail getNcBrandByNcBrandNo(@Param("brandName") String brandName);

    String getNcBrandNameByNcBrandNo(@Param("ncBrandNo") String ncBrandNo);




    TblCostAllocationDetail getNcBrandByBrandUnitNameShort(@Param("brandUnitNameShort") String brandUnitNameShort);


}

